Transformer norm 先做后做

Transformer layer normalization 先做后做

作者 XH 日期 2019-03-14
Transformer norm 先做后做

并不适合阅读的个人文档。

Normalization 先做 和 后做

  • 后做是传统做法

    后做是 input x , x residual 到后面, x 进行function(multi-head attention), f(x) 进行dropout,df(x) + x (residual), layer normalization(df(x) + x )

    x’->LN(df(x) + x)

  • 先做是当前性能好的做法

    后做是 input x , x residual 到后面, x 进行LN,然后进行function(multi-head attention), 最后进行dropout在和残差相加,dfLN(x) + x (residual)

    x‘->x + (df(LN(x))

    最顶层+LN

    反向传播更好

  • 思考

    为何不使用 xl(residual) -> F -> LN -> add(residual) ->xl+1

    因为这样的操作,送入F的x是在加和后没进行norm的,容易出现梯度消失/梯度爆炸问题